% !TeX encoding = UTF-8
% !TeX root = ../main.tex

%% ------------------------------------------------------------------------
%% Copyright (C) 2021-2023 SJTUG
%% 
%% SJTUBeamer Example Document by SJTUG
%% 
%% SJTUBeamer Example Document is licensed under a
%% Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
%% 
%% You should have received a copy of the license along with this
%% work. If not, see <http://creativecommons.org/licenses/by-nc-sa/4.0/>.
%% -----------------------------------------------------------------------

\section{学术论文排版}
\subsection{\LaTeX{} 排版入门}

\begin{frame}[fragile]
  \frametitle{引擎与格式}
  \begin{itemize}
    \item \textbf{引擎}：\TeX{} 的实现

          \begin{itemize}
            \item \pdfTeX{}：直接生成 PDF，支持 micro-typography
            \item \XeTeX{}：支持 Unicode、OpenType 与复杂文字编排（CTL）
            \item \LuaTeX{}：支持 Unicode，内联 Lua，支持 OpenType
            \item (u)p\TeX{}：日本方面推动，生成 \verb|.dvi|，（支持 Unicode）
            \item Ap\TeX{}：底层 CJK 支持，内联 Ruby，Color Emoji
          \end{itemize}

    \item \textbf{格式}：\TeX{} 的语言扩展（命令封装）

          \begin{itemize}
            \item plain \TeX{}：Knuth 同志专用
            \item \LaTeX{}：排版科技类文章的事实标准
            \item Con\TeX t：基于 \LuaTeX{} 实现，优雅、易用（吗？）
          \end{itemize}

    \item \textbf{程序}：引擎 + dump 后的格式代码

          \begin{itemize}
            \item \alert{英文文章：\pdfLaTeX{}、\XeLaTeX{} 或 \LuaLaTeX{}}
            \item \alert{中文文章：\XeLaTeX{} 或 \LuaLaTeX{}}
          \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{编译}
  \begin{itemize}
    \item 现代 \TeX{} 引擎均可直接生成 PDF
    \item 命令行

          \begin{itemize}
            \item \verb|pdflatex|/\verb|xelatex|/
                  \verb|lualatex| + \verb|<文件名>[.tex]|
            \item 多次编译：每次均需要读取并处理中间文件
            \item 推荐 \pkg{latexmk}\footnote{\MiKTeX 用户需要自行安装 perl 解释器}：运行
                  \verb|latexmk [<选项>] <文件名>| 即可自动完成所有工作
          \end{itemize}

    \item 编辑器

          \begin{itemize}
            \item 按钮的背后仍然是命令
            \item \verb|PATH| 环境变量：确定可执行文件的位置
            \item VS Code + \LaTeX{} Workshop：配置 \verb|tools| 和 \verb|recipes|
          \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{文件结构}
  \lstset{language=[LaTeX]TeX}
  \begin{lstlisting}[basicstyle=\ttfamily]
\documentclass[a4paper]{ctexart}
% 文档类型，如 ctexart，[]内是选项，如 a4paper
% 这里开始是导言区
\usepackage{graphicx} % 引用宏包
\graphicspath{{fig/}} % 设置图片目录
% 导言区到此为止
\begin{document}
这里开始是正文
\end{document}
  \end{lstlisting}
\end{frame}

\begin{frame}[fragile]{\LaTeX{}“命令”}
  \framesubtitle{宏 (Macro)、或者控制序列 (control sequence)}
  \begin{itemize}
    \item 简单命令
          \begin{itemize}
            \item \verb|\命令|\hspace{2em}
                  \verb|{\songti 中国人民解放军}| ~$\Rightarrow$ {\songti 中国人民解放军}
            \item \verb|\命令[可选参数]{必选参数}|\\
                  \verb|\section[精简标题]{这个题目实在太长了放到目录里面不太好看}|\\
                  $\Rightarrow$ {\heiti 1.1 \hspace{1em} \songti
                      这个题目实在太长了放到目录里面不太好看}
          \end{itemize}
    \item 环境
          \begin{columns}[c]
            \begin{column}{0.45\textwidth}
              \begin{lstlisting}[basicstyle=\ttfamily]
\begin{equation*}
  a^2-b^2=(a+b)(a-b)
\end{equation*}
              \end{lstlisting}
            \end{column}\hspace{1em}
            \begin{column}{0.45\textwidth}
              $ a^2-b^2=(a+b)(a-b)$
            \end{column}
          \end{columns}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{\LaTeX{} 常用命令}
  \begin{block}{简单命令}
    \centering
    \footnotesize
    \begin{tabular}{llll}
      \cmd{chapter}   & \cmd{section} & \cmd{subsection} & \cmd{paragraph}
      \\
      章               & 节             & 小节               & 带题头段落
      \\\hline
      \cmd{centering} & \cmd{emph}    & \cmd{verb}       & \cmd{url}
      \\
      居中对齐            & 强调            & 原样输出             & 超链接             \\\hline
      \cmd{footnote}  & \cmd{item}    & \cmd{caption}    &
      \cmd{includegraphics}                                                \\
      脚注              & 列表条目          & 标题               & 插入图片            \\\hline
      \cmd{label}     & \cmd{cite}    & \cmd{ref}
      \\
      标号              & 引用参考文献        & 引用图表公式等                            \\\hline
    \end{tabular}
  \end{block}
\end{frame}
\begin{frame}[fragile]{\LaTeX{} 常用环境}
  \begin{block}{环境}
    \centering
    \footnotesize
    \begin{tabular}{lll}
      \env{table}   & \env{figure}    & \env{equation}    \\
      表格            & 图片              & 公式                \\\hline
      \env{itemize} & \env{enumerate} & \env{description} \\
      无编号列表         & 编号列表            & 描述                \\\hline
    \end{tabular}
  \end{block}
\end{frame}
%
\begin{frame}{\LaTeX{}命令举例}
  \cmdxmp{chapter}{前言}{\heiti 第 1 章\hspace{1em} 前言}
  \cmdxmp{section[精简标题]}{这个题目实在太长了放到目录里面不太好看}{\heiti 1.1
    \hspace{1em} 这个题目实在太长了放到目录里面不太好看}
  \cmdxmp{footnote}{我是可爱的脚注}{前方高能\footnote{我是可爱的脚注}}
\end{frame}

\begin{frame}[fragile]{\LaTeX{} 环境举例}
  \begin{minipage}{0.4\linewidth}
    \begin{lstlisting}[basicstyle=\ttfamily\small]
\begin{itemize}
  \item 一条
  \item 次条
  \item 这一条可以分为 ...
    \begin{itemize}
      \item 子一条
    \end{itemize}
\end{itemize}
\end{lstlisting}
  \end{minipage}\hspace{1.5cm}
  \begin{minipage}{0.4\linewidth}
    \begin{itemize}
      \item 一条
      \item 次条
      \item 这一条可以分为 ...
            \begin{itemize}
              \item 子一条
            \end{itemize}
    \end{itemize}
  \end{minipage}
  \medskip

  \begin{minipage}{0.4\linewidth}
    \begin{lstlisting}
\begin{enumerate}
  \item 一条
  \item 次条
  \item 再条
\end{enumerate}
\end{lstlisting}
  \end{minipage}\hspace{1.5cm}
  \begin{minipage}{0.4\linewidth}
    \begin{enumerate}
      \item 一条
      \item 次条
      \item 再条
    \end{enumerate}
  \end{minipage}
\end{frame}
%

\begin{frame}[fragile]{\LaTeX{} 数学公式}

  \begin{columns}
    \begin{column}{.5\textwidth}
      \begin{lstlisting}[basicstyle=\ttfamily\small]
$V = \frac{4}{3}\pi r^3$

\[
  V = \frac{4}{3}\pi r^3
\]

\begin{equation}
\label{eq:vsphere}
V = \frac{4}{3}\pi r^3
\end{equation}
\end{lstlisting}
    \end{column}

    \begin{column}{.5\textwidth}
      $V = \frac{4}{3}\pi r^3$

      \[
        V = \frac{4}{3}\pi r^3
      \]

      \begin{equation}
        \label{eq:vsphere}
        V = \frac{4}{3}\pi r^3
      \end{equation}
    \end{column}
  \end{columns}

\end{frame}

\begin{frame}[fragile]{\LaTeX{} 数学公式}
  \begin{itemize}
    \item 数学公式排版是 \LaTeX{} 的绝对强项
    \item 数学排版需要进入数学模式，引用 \texttt{amsmath} 宏包
          \begin{itemize}
            \item 用单个美元符号(\verb|$|) 包围起来的内容是 {\bf 行内公式}
            \item 用两个美元符号(\verb|$$|) （不推荐）或
                  \verb|\[ \]| 包围起来的是 {\bf 单行公式} 或 {\bf 行间公式}
            \item 使用数学环境，例如 \texttt{equation} 环境内的公式会自动加上编号，
                  \texttt{align} 环境用于多行公式（例如方程组、多个并列条件等）
          \end{itemize}
    \item 寻找符号
          \begin{itemize}
            \item 运行 \texttt{texdoc symbols} 查看符号表
            \item S. Pakin. \emph{The Comprehensive \LaTeX{} Symbol List}
                  \link{https://ctan.org/pkg/comprehensive}
            \item 手写识别（有趣但不全）：Detexify \link{http://detexify.kirelabs.org}
          \end{itemize}
    \item MathType 也可以使用和导出 \LaTeX{} 公式（不推荐）
  \end{itemize}
\end{frame}

%% 需要在导言区使用 \usepackage{unicode-math}
%
% \begin{frame}[fragile,label={frame:unicode-math}]{unicode-math：现代的数学输入方式}
%   \LaTeX{} 的公式确实很强大，但是……符号有点难记？

%   \pkg{unicode-math} 宏包提供了几乎所见即所得的公式输入：

%   \begin{itemize}
%     \item 可直接输入各类符号对应的 Unicode 字符（需要使用 UTF-8 编码）：

%           \begin{columns}[c]
%             \begin{column}{0.45\textwidth}
%               \begin{lstlisting}
% \begin{equation*}
% ∫ Γ(x) dx = ±∞
% \end{equation*}
%       \end{lstlisting}
%             \end{column}\hspace{1em}
%             \begin{column}{0.45\textwidth}
%               \begin{equation*}
%                 ∫ Γ(x) dx = ±∞
%               \end{equation*}
%             \end{column}
%           \end{columns}
%     \item 使用 \verb|symbf| 等命令自动处理字母的粗体、斜体等变体，不必引入额外宏包。
%   \end{itemize}

%   \begin{columns}[c]
%     \begin{column}{0.45\textwidth}
%       \begin{lstlisting}
% \begin{align*}
% \symbf{\beta} &= \beta \symbf{I} \\
% \symbf{a} &= a \symbf{I}
% \end{align*}
% \end{lstlisting}
%     \end{column}\hspace{1em}
%     \begin{column}{0.45\textwidth}
%       \begin{align*}
%         \symbf{\beta} & = \beta \symbf{I} \\
%         \symbf{a}     & = a \symbf{I}
%       \end{align*}
%     \end{column}
%   \end{columns}

% \end{frame}

\begin{frame}[fragile]{层次与目录生成}
  \begin{columns}
    \begin{column}{.6\textwidth}

      \begin{lstlisting}[basicstyle=\ttfamily\small,morekeywords={
        tableofcontents, part, chapter, section, subsection, subsubsection,
        paragraph, subparagraph}]
\tableofcontents % 这里是目录
\part{有监督学习}
\chapter{支持向量机}
\section{支持向量机简介}
\subsection{支持向量机的历史}
\subsubsection{支持向量机的诞生}
\paragraph{一些趣闻}
\subparagraph{第一个趣闻}
\end{lstlisting}
    \end{column}
    \begin{column}{.4\textwidth}
      第一部分\quad 有监督学习\\
      第一章\quad 支持向量机 \\
      1. 支持向量机简介 \\
      1.1 支持向量机的历史 \\
      1.1.1 支持向量机的诞生 \\
      一些趣闻  \\
      第一个趣闻
    \end{column}
  \end{columns}

\end{frame}

\begin{frame}[fragile]{列表与枚举}
  \begin{columns}
    \begin{column}{.6\textwidth}
      \begin{lstlisting}[basicstyle=\ttfamily\small]
\begin{enumerate}
\item \LaTeX{} 好处都有啥
  \begin{description}
    \item[好用] 体验好才是真的好
    \item[好看] 强迫症的福音
    \item[开源] 众人拾柴火焰高
  \end{description}
\item 还有呢?
  \begin{itemize}
    \item 好处 1
    \item 好处 2
  \end{itemize}
\end{enumerate}
\end{lstlisting}
    \end{column}
    \begin{column}{.4\textwidth}
      {\small
        \begin{enumerate}
          \item \LaTeX{} 好处都有啥
                \begin{description}
                  \item[好用] 体验好才是真的好
                  \item[好看] 治疗强迫症
                  \item[开源] 众人拾柴火焰高
                \end{description}
          \item 还有呢?
                \begin{itemize}
                  \item 好处 1
                  \item 好处 2
                \end{itemize}
        \end{enumerate}
      }
    \end{column}
  \end{columns}

\end{frame}

\begin{frame}[fragile]{交叉引用与插入插图}
  \begin{itemize}
    \item 给对象命名：图片、表格、公式等\\
          \verb|\label{name}|
    \item 引用对象\\
          \verb|\ref{name}|
  \end{itemize}
  \bigskip

  \begin{minipage}{0.7\linewidth}
    \begin{lstlisting}
交大校徽请参见图~\ref{fig:badge}。
\begin{figure}[htbp]
  \centering
  \includegraphics[height=.2\textheight]%
  {sjtu-badge-blue.pdf}
  \caption{交大校徽。}
  \label{fig:badge}
\end{figure}
\end{lstlisting}
  \end{minipage}\hfill
  \begin{minipage}{0.3\linewidth}\centering
    {\songti 交大校徽请参见图~1。}\\[1em]
    \includegraphics[height=0.2\textheight]{sjtu-badge-blue.pdf}\\
    {\footnotesize\heiti 图~1. 交大校徽。}
  \end{minipage}
\end{frame}

\begin{frame}[fragile]{交叉引用与插入表格}
  \vspace{-1.5em}
  \begin{columns}
    \column{.6\textwidth}
    \begin{lstlisting}
\begin{table}[htbp]
   \caption{编号与含义}
   \label{tab:number}
   \centering
   \begin{tabular}{cl}
     \toprule
     编号 & 含义 \\
     \midrule
     1    & 第一 \\
     2    & 第二 \\
     \bottomrule
   \end{tabular}
\end{table}
公式~(\ref{eq:vsphere}) 中编号与含义
请参见表~\ref{tab:number}。
\end{lstlisting}
    \column{.4\textwidth}
    \centering
    {\small 表~1. 编号与含义}\\[2pt]
    \begin{tabular}{cl}\toprule
      编号 & 含义 \\\midrule
      1  & 第一 \\
      2  & 第二 \\\bottomrule
    \end{tabular}\\[5pt]

    \normalsize 公式~(\ref{eq:vsphere})编号与含义请参见表~1。
  \end{columns}
\end{frame}

\begin{frame}[fragile]{浮动体}
  \begin{itemize}
    \item 初学者最“捉摸不透”的特性之一
          \link{https://liam.page/2017/03/11/floats-in-LaTeX-basic}
    \item 图片和表格有时会很大，在插入的位置不一定放得下，因此需要浮动调整
    \item 避免在文中使用「下图」「上图」的说法，而是使用图表的编号，例如 \verb|图~\ref{fig:fig1}| 。
    \item \verb|\begin{figure}[<位置>] 图片 \end{figure}|
          \begin{itemize}
            \item 位置参数指定浮动体摆放的偏好
            \item \verb|h| 当前位置(here), \verb|t|
                  顶部(top), \verb|b| 底部(bottom),
                  \verb|p| 单独成页(p)
            \item \verb|!h| 表示忽略一些限制，\verb|H|
                  表示强制\alert{（强烈不建议，除非你知道自己在做什么）}
          \end{itemize}
    \item 温馨提示：图标题一般在下方，表标题一般在上方
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{作图与插图}
  \begin{itemize}
    \item 外部插入

          \begin{itemize}
            \item Mathematica、MATLAB
            \item PowerPoint、Visio、Adobe Illustrator、Inkscape
            \item Python \pkg{Matplotlib} 库、\texttt{Plots.jl}、R、Plotly 等
            \item draw.io \link{https://draw.io/}、ProcessOn \link{https://www.processon.com/}
                  等在线绘图网站
          \end{itemize}

    \item \TeX{} 内联

          \begin{itemize}
            \item Asymptote
            \item \alert{\pkg{pgf}/\pkg{TikZ}、\pkg{pgfplots}}
          \end{itemize}

    \item 插图格式

          \begin{itemize}
            \item 矢量图：\verb|.pdf|
            \item 位图：\verb|.jpg| 或 \verb|.png|
            \item \alert{不再推荐 \texttt{.eps}}
            \item 不（完全）支持 \verb|.svg|、\verb|.bmp|
          \end{itemize}

    \item 一些参考：\link{https://www.zhihu.com/question/21664179}
          \link{https://tex.stackexchange.com/q/158668}
          \link{https://tex.stackexchange.com/q/72930}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{表格绘制}
  \begin{itemize}
    \item 使用 \pkg{booktabs}、\pkg{longtables}、\pkg{multirow} 等宏包
    \item 手动绘制表格确实比较令人头疼，且较难维护
    \item 推荐使用在线工具绘制后导出代码：\LaTeX{} Table Generator
          \link{https://www.tablesgenerator.com/latex_tables}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{文献引用}
  \begin{itemize}
    \item 新时期我国信息技术产业的发展 \cite{devoftech}
    \item 他改变了中国 \cite{thelegendofjiang}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{宏包推荐（先读文档后使用）}
  \vspace{-1.5em}
  \scriptsize
  \begin{multicols}{3}
    \begin{itemize}
      \item 必备

            \begin{itemize}
              \item \pkg{amsmath}
              \item \pkg{graphicx}
              \item \pkg{hyperref}
            \end{itemize}

      \item 样式

            \begin{itemize}
              \item \pkg{caption}
              \item \pkg{enumitem}
              \item \pkg{fancyhdr}
              \item \pkg{footmisc}
              \item \pkg{geometry}
              \item \pkg{titlesec}
            \end{itemize}

      \item 数学

            \begin{itemize}
              \item \pkg{bm}
              \item \pkg{mathtools}
              \item \pkg{physics}
              \item \pkg{unicode-math}
            \end{itemize}

      \item 表格

            \begin{itemize}
              \item \pkg{array}
              \item \pkg{booktabs}
              \item \pkg{longtable}
              \item \pkg{tabularx}
            \end{itemize}

      \item 插图、绘图

            \begin{itemize}
              \item \pkg{float}
              \item \pkg{pdfpages}
              \item \pkg{standalone}
              \item \pkg{subfigure}
              \item \pkg{pgf}/\pkg{tikz}
              \item \pkg{pgfplots}
            \end{itemize}

      \item 字体

            \begin{itemize}
              \item \pkg{newpx}
              \item \pkg{pifont}
              \item \pkg{fontspec}
            \end{itemize}

      \item 各种功能

            \begin{itemize}
              \item \pkg{algorithm2e}
              \item \pkg{beamer}
              \item \pkg{biblatex}
              \item \pkg{listings}
              \item \pkg{mhchem}
              \item \pkg{microtype}
              \item \pkg{minted}
              \item \pkg{natbib}
              \item \pkg{siunitx}
              \item \pkg{xcolor}
            \end{itemize}

      \item 多语言

            \begin{itemize}
              \item \pkg{babel}
              \item \pkg{polyglossia}
              \item \pkg{ctex}
              \item \pkg{xeCJK}
            \end{itemize}
    \end{itemize}
  \end{multicols}
  \vspace*{-0.5cm}
\end{frame}

\subsection{论文模板使用}

\begin{frame}{模板是什么？}
  \begin{itemize}
    \item 模板
          \begin{itemize}
            \item 已经设计好的格式框架
            \item 好的模板：使用户专注于内容
            \item 不应将时间花费在调整框架上
          \end{itemize}
    \item 再提 Office 和 Word
          \begin{itemize}
            \item 很少有人会有意识地在 Word 中使用模板
            \item 定义自己的标题？定义自己的列表？定义自己的段落样式？
            \item 自动化，还是手工调？
            \item 经常被折腾的精疲力竭
            \item 学习 \LaTeX{} 能帮助自己更好科学地使用 Word
          \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}{论文排版}
  \begin{itemize}
    \item 获取模板
          \begin{itemize}
            \item 随发行版自带、手动网络下载
            \item 模板文档类 \texttt{.cls} 文件
            \item 示例 \texttt{.tex} 文件
          \end{itemize}
    \item 编辑 \texttt{.tex} 文件：添加用户内容
    \item 编译：生成 PDF 文档
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{论文排版举例}
  \begin{block}{IEEE 期刊论文}
    \begin{itemize}
      \item 获取模板：已随发行版自带
            \begin{itemize}
              \item 在安装目录 \verb|<prefix>/texlive/2023/texmf-dist/doc/latex/IEEEtran|
                    下找到 \verb|bare_jrnl.tex|
              \item 复制到某个文件夹(比如个人存论文的目录)
            \end{itemize}
      \item 编辑 \verb|bare_jrnl.tex| 文件 (英文模板：不支持中文)
      \item 编译
            \begin{itemize}
              \item 英文文献：\XeLaTeX{}、\pdfLaTeX{} 编译均可
            \end{itemize}
    \end{itemize}
  \end{block}
\end{frame}
